﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;


namespace GirisSayfasi
{
    public partial class OgretmenDersKayit : Form
    {
        OgretmenDersDersArama frmOgretmenDersDersArama = new OgretmenDersDersArama();
        OgretmenDersOgretmenArama frmOgretmenDersOgretmenArama = new OgretmenDersOgretmenArama();
        MySqlConnection baglan = Connection.baglan;


        public OgretmenDersKayit()
        {
            InitializeComponent();
        }

        private void OgretmenDersKayit_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            frmOgretmenDersDersArama.ShowDialog();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            frmOgretmenDersOgretmenArama.ShowDialog();
        }

        private void mskOgretmenTc_Leave(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            txtOgretmenAdiSoyadi.Clear();
            mskDersKodu.Clear();
            txtDersIsmi.Clear();
            int len = mskOgretmenTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogretmenlistesi where OgretmenTc = '" + mskOgretmenTc.Text + "'", baglan);
                cmd.Parameters.AddWithValue("@txtOgretmenAdiSoyadi", txtOgretmenAdiSoyadi.Text);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgretmenAdiSoyadi.Text = oku["OgretmenAdi"].ToString() + " " + oku["OgretmenSoyadi"].ToString();
                    }
                }

                /////////
                baglan.Close();

                baglan.Open();
                    MySqlCommand cmd1 = new MySqlCommand("select DersIsmi, ogretmenderslistesi.DersKodu from ogretmenderslistesi, derslistesi where OgretmenTc= '" + mskOgretmenTc.Text + "' AND derslistesi.DersKodu=ogretmenderslistesi.DersKodu", baglan);
                    ////MySqlCommand cmd1 = new MySqlCommand("select * from acilansiniflar where AcilanProjeKodu = '" + mskProjeKodu.Text + "'", baglan);

                        MySqlDataReader oku1 = cmd1.ExecuteReader();
                        if (oku1.HasRows)
                        {
                            while (oku1.Read())
                            {
                                ListViewItem lst = new ListViewItem();
                                lst.Text = oku1["DersIsmi"].ToString();
                                lst.Tag = oku1["DersKodu"];
                                listView1.Items.Add(lst);

                            }
                        }
                        baglan.Close();
            }

        }

        private void button1_Leave(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            txtOgretmenAdiSoyadi.Clear();
            mskDersKodu.Clear();
            txtDersIsmi.Clear();
            int len = mskOgretmenTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogretmenlistesi where OgretmenTc = '" + mskOgretmenTc.Text + "'", baglan);
                cmd.Parameters.AddWithValue("@txtOgretmenAdiSoyadi", txtOgretmenAdiSoyadi.Text);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgretmenAdiSoyadi.Text = oku["OgretmenAdi"].ToString() + " " + oku["OgretmenSoyadi"].ToString();
                    }
                }

                /////////
                baglan.Close();

                baglan.Open();
                MySqlCommand cmd1 = new MySqlCommand("select DersIsmi, ogretmenderslistesi.DersKodu from ogretmenderslistesi, derslistesi where OgretmenTc= '" + mskOgretmenTc.Text + "' AND derslistesi.DersKodu=ogretmenderslistesi.DersKodu", baglan);
                ////MySqlCommand cmd1 = new MySqlCommand("select * from acilansiniflar where AcilanProjeKodu = '" + mskProjeKodu.Text + "'", baglan);

                MySqlDataReader oku1 = cmd1.ExecuteReader();
                if (oku1.HasRows)
                {
                    while (oku1.Read())
                    {
                        ListViewItem lst = new ListViewItem();
                        lst.Text = oku1["DersIsmi"].ToString();
                        lst.Tag = oku1["DersKodu"];
                        listView1.Items.Add(lst);

                    }
                }
                baglan.Close();
            }

        }

        private void mskDersKodu_Leave(object sender, EventArgs e)
        {
            int len = mskDersKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from derslistesi where DersKodu = '" + mskDersKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtDersIsmi.Text = oku["DersIsmi"].ToString();
                    }
                }
                else
                {
                    txtDersIsmi.Clear();
                }
                baglan.Close();
            }
        }

        private void button2_Leave(object sender, EventArgs e)
        {
            int len = mskDersKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from derslistesi where DersKodu = '" + mskDersKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtDersIsmi.Text = oku["DersIsmi"].ToString();
                    }
                }
                else
                {
                    txtDersIsmi.Clear();
                }
                baglan.Close();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (txtOgretmenAdiSoyadi.Text == "")
            {
                MessageBox.Show("Öğretmen Bilgileri Boş Bırakılamaz");
            }
            else if (txtDersIsmi.Text == "")
            {
                MessageBox.Show("Ders Bilgileri Boş Bırakılamaz");
            }
            else
            {
            baglan.Open();
            ListViewItem yeni = new ListViewItem(); // Yeni bir listview item nesnesi oluşturduk.
            MySqlCommand cmd = new MySqlCommand("select * from ogretmenderslistesi where OgretmenTc = '" + mskOgretmenTc.Text + "' AND DersKodu = '" + mskDersKodu.Text + "'", baglan);
            int Count = Convert.ToInt32(cmd.ExecuteScalar());
            if (Count == 0)
            {

                yeni.Tag = mskDersKodu.Text.ToString(); // Tag özelliğini debug halindeyken göremeyiz. Bu geride veri tutmak istediğimizde işimize yarayan bir özelliktir.
                yeni.Text = txtDersIsmi.Text.ToString(); // Text özelliği ilk kolonumuza veri girerken kullandığımız özelliktir.

                MySqlCommand ekle = new MySqlCommand("insert into ogretmenderslistesi (OgretmenDersID,OgretmenTc,DersKodu) VALUES ('','" + mskOgretmenTc.Text + "','" + mskDersKodu.Text + "')", baglan);
                ekle.ExecuteNonQuery();

            }
            else
            {
                MessageBox.Show("Bu Ders Eklenmiş. Tekrar Ekleyemezsiniz");
            }
            baglan.Close();

            listView1.Items.Add(yeni); //  listviewitem nesnesinin içerisiğini oluşturduktan sonra listvies nesnemizin elemanları arasına bunu ekliyoruz.
            mskDersKodu.Clear();
            txtDersIsmi.Clear();
            mskDersKodu.Focus();
            }
        }

        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ders Silinecek Onaylıyor Musunuz?", "Emin Misiniz?", MessageBoxButtons.YesNo);
            if (dialogResult == DialogResult.Yes)
            {

                baglan.Open();
                MySqlCommand sil = new MySqlCommand("delete from ogretmenderslistesi WHERE OgretmenTc='" + mskOgretmenTc.Text + "' AND  DersKodu='" + listView1.SelectedItems[0].Tag.ToString() + "'", baglan);
                sil.ExecuteNonQuery();
                baglan.Close();
                listView1.SelectedItems[0].Remove();
                mskDersKodu.Clear();
                txtDersIsmi.Clear();
                mskDersKodu.Focus();
            }

        }

        private void OgretmenDersKayit_FormClosing(object sender, FormClosingEventArgs e)
        {
            mskDersKodu.Clear();
            mskOgretmenTc.Clear();
            listView1.Items.Clear();
            txtDersIsmi.Clear();
            txtOgretmenAdiSoyadi.Clear();
        }






    }
}
